#!/usr/bin/env node

/**
 * 快速API测试脚本
 * 简单验证CreateTokenForm的核心功能
 */

const axios = require('axios');

const API_URL = process.env.NEXT_PUBLIC_API_URL || 'http://localhost:7172';

// 简单的测试数据
const testData = {
  name: 'nnnn',
  symbol: 'QTT',
  decimals: 9,
  supply: '1000000000000000', // 1,000,000 个代币 * 10^9 (9个小数位)
  description: '快速测试代币',
  creator: 'shTdKtBScJMC4GkKmasiE9iMKrtZnMFUtwVTdSXsKac', // 有效的Solana地址
  enablePrettyAddress: false, // 关闭靓号地址功能避开bug
  revokeUpdateAuthority: false,
  revokeFreezeAuthority: false,
  revokeMintAuthority: false,
  // paymentSignature: '在真实环境中需要支付 0.2 SOL 并提供交易签名'
};

async function quickTest() {
  console.log('🚀 快速API测试');
  console.log(`📡 API地址: ${API_URL}`);
  
  try {
    // 健康检查
    console.log('\n1️⃣ 检查后端服务...');
    await axios.get(`${API_URL}/api/health`);
    console.log('✅ 后端服务正常');
    
    // 测试代币创建
    console.log('\n2️⃣ 测试代币创建...');
    console.log('📝 发送数据:', JSON.stringify(testData, null, 2));
    
    const response = await axios.post(`${API_URL}/api/tokens`, testData);
    
    if (response.data.success) {
      console.log('✅ 代币创建成功!');
      console.log('📋 返回结果:', JSON.stringify(response.data, null, 2));
    } else {
      console.log('❌ 创建失败:', response.data.message);
    }
    
  } catch (error) {
    console.log('❌ 测试失败:', error.response?.data?.message || error.message);
    if (error.response?.data) {
      console.log('错误详情:', JSON.stringify(error.response.data, null, 2));
    }
  }
}

quickTest();
